/**
 * 项目名称: Topic_66.cpp
 * 项目路径: study/DataStructure/LeetCode/数组
 * 编辑时间: 2024年09月07日15时52分35秒
 * 用   户: 轻尘
 */

#include <bits/stdc++.h>

using namespace std;

class Solution {
public:
    vector<int> plusOne(vector<int>& digits) {
        int n = digits.size();
        for(int i = n-1;i>=0;--i)
            if(digits[i]!=9){
                ++digits[i];
                //第一次出现部分连续的9
                for(int j = i;j<n;++j)digits[j]=0;
                return digits;
            }

        //第三种情况,数组中全为9
        vector<int>ans(n+1);
        ans[0]=1;
        return ans;
    }
};
